finished 1.41
finished 1.42
providing compose function for 1.43
finished 1.43