return structs for nullable