Finish homework 7

Signed-off-by: kfei <kfei@kfei.net>