change base lib interface