first iteration

First final version