working clusters TODO refactoring, tests, example