WIP
RED-better error message
GREENER-passing low level (util.*) tests.
GREENER-ready to implement top level on #129