adding cluster functionality