rename
merging api and impl