Added requirements.txt and refactored project file structure