1st still need to be fix, changes in the three structure