setting up the software environment