new running version of assignment 4