c-skeleton from http://c.learncodethehardway.org/book/