changed desired functionality to desired interface functionality