small refactoring + empty methods added(need implement)