pass a structure with arbitrary parameters