Practices from chapter 1~9 of http://www.jsptut.com/