revamp multiple assignment