some refactorings and support for creating drafts