added basic library class framework