Painful interface changes

Still some cleanup and refactor to be done.
Some minor cleanup