don't create struct twice