docs for implementers