api, strawman impl