Work done for the Functional Programming Principles in Scala course from Coursera