[API] refactored