Skeleton C code based on: http://c.learncodethehardway.org/book/