refactoring, adding new methods