Adding predecessor and successor methods
Predecessor and successor implementations