pushing assignmet3 with a little fixing