Finished designing the solution to part 1