My code so far
Merged pulkit's changes