working with value structs