api refactorings