document interfaces