need to dbl check structs but ok