Start refactor to simpler API