power set function added