move all this into the combine fork of davis since it doesn't appear to be sticking around anyway