a simpler API