acceptance and unit tests