Change API to be more consistent