Implement assignment 1