add a constructor for Hand, misc cleanup