add refactoring methods