changed some things in the interface