rebuild the structure

I have rebuilded the structure, you can try to pull it into your master barnch.