Validations and custom call back to assign version number