Is it possible to get rid of this struct entirely?