add clustering algorithm