exercise 2.57 done

Signed-off-by: Edgar Wang <edgar.xiaoxiangyu@gmail.com>