some more structure changes lol