#42 - first working version of validation, only raw exception is thrown after constraint violations occurring