semi-document accept, retrieve, precondition