pulled from vonloxley, added TimeSerialzer