with clustering algorithm