First revision
A lot of changes