Models a library as described in assignment