The solution for Milestone 3B