changed some interfaces