adding cluster. refactoring