finished up to part 2 (#16)