Assignment 4: Tasks 1, 2 and 3 Implemented