rewrite tests
simpler api
3.0.0