decompose updates