rest of proj2