changed btree to split downwards instead of upwards, which uses more space but less memory accesses; fixed order issues which were probably caused by parents not being set