API refactoring and testing - let's get started