work in progress on API refactor
Refactoring in progress... pardon our dust...