midpoint based splitup