add first version of the code