refactor after adding 2-3 tree