Refactoring, added classes, added methods, temporary removed tests