added new interface and fuctions