done with everything other than full error checking