allow library to be optionally specified