new transformers
new exceptions
more tests
some refactoring