Review and a lot of fix