changed behavior of CheckOut and Return to static in Library, added virtual function Add and Remove