implemented map2
implemented sequence
implemented sequence