Codefellows problem 2 - Library model