add a lot of code structure