with clustering