template constructor
update nex