save before assemble