added error messages, created more acceptance tests