some refactoring decorators