Refactor asserters
Improve error output
Improve tests