layout, acceptance tests and better error management