mostly done with ass#2