rewrite: add (some of) v1 api