Completing part 1-3