added principal move variation