Using WriteUnshared instead of reset()

Using WriteUnshared on object stream to avoid having to reset each time
Refactoring Model

Changing structure