First version of assignement2