library link is optional