added ferguson clustering