Move merge, fix and make another implementation

One point was deduced for running over the list
with length in split. Fixed that and made
a complete new datastructure that knows its
length