redefining the c3 library