use test doubles instead of structs