base lib