begin implementing move ordering