refine root obj unrefering
refacto: make some variable names more meaningful
Merge pull request #21 from Gwill/develop

refine deserialize