Refactorings, added new classes