maybe we should start thinking about using sets.