modified some bad structure