adding map, map2 and sequence
adding flatMap
using flatMap to implement map and map2
implementing State