implemented 1 of part 1
implemented 2 of part 1