implementation of 2-3 tree