use sets instead