moving interfaces to api, making tests pass