Red black tree which seems to work