changes mostly done