Add decorators
Refactor