First version of programming assignment 1 by LBerg