Added a basic logger and refactored the directory structure.