CS246 milestone 2 Kevin Andres