more decorator refactoring