break up classes into seperate files, added env file to manage dependencies