refactoring names etc