implement validation, exception handling framework