shared create code
simplified update-promote code