revising API for consistency... it never ends