We're kinda dropping error values all over the floor in this, which I'd like to avoid. I also don't think this should be a public function. After I merge this I will probably get rid of this function.