implemented new interface changes