assignment mostly done