document interface methods