1) add test
2) add validation exception
3) add descriptions for exceptions and other classes