18-641 Project 1