Major refactoring to make code cleaner.