insertAndSplit and constructor