lazy move ordering