resouce lib