simplify and document interfaces