a struct will also want its very pwn creation function too