Started refactoring the code for more transparency - old codebase not really touched, just created a number of new classes