renamed protected vars
in an object the property that's another object must also be typecasted to targetType
add / replace item(s) need some more work, also the metadata stuff