finished part one, wrote all tests
added barebones for parteII