implementing structs, set, get