handle primitives on update