We only need one class for this whole thing, not 2