#51 refactor: added v2 acceptance tests, minimal v2 impl

#51