Structure almost complete (untested)