Obligatory assignment 4 for Inf4580