working on structs and dynamic setters