extensive lib update