updates with semi