Second version of assignement