move api to new version and add tests

I think you can drop Errno now.