more structure changes
made it compile