Assignment 0 solution