FIX: finetune product[:to_move] calculation