completed zetcode tutorial chapter 1