Shaping up the API