+ decouple the algo and function of the contact cluster