Refactored promote_draft