new struc fixed bugs