Previous work
Initial attempt at Question 4-1, more than 2 hours
Question 3-5 took a while, updated Node class using generic type parameters