Many changes - including some experimental code for positioning.