This whole distributed thing needs a rewrite