core lib