Factor out validations
Factor out more validation