Renamed modules for easier understanding, refactored project to reflect changes