refactoring: document, entry, edit, and snapshot