cleaned up, added fewest()