reentrant deserialization

I mean load and loadWithReset or similar just split up the function