implemented new interface requirement