Final version of my assignment