add acceptance tests.
add anotations about cavoerage.