general doc structure