added ability to set objects via constructor and @set