implements cluster