allow passing already defined structs