successor() complete + some more testing