made sets generic
made foreach of the set generic