more structure optimizations