more improvements on structure