add object iteration
formalize Property