added validation exception, validation now throws an exception if fails