Completed 80% of the assignment