use structs of pointers for optional params