struct can't self change bug.