struct construction, member read and assign