Adding Validation and Decorators