Finished part 1: design