struct improvements