Began some API abstraction