update Len, Less and Swap to be more consistent