move API to be more consistent