refactors evaluate_hand