code after grand clean up looks nicer, does the same