solutions of #6 ~ #8
improve convension.