Added setup file and organized the files to lend itself to OOP