some changes on library requiring