adjust the APIs a little bit