document interface