hopefully i only have to do this once..