pushing things around, mostly for serialization