constant refactoring