validations, callback methods added