headfirst: using dynamic library