interface api and regular