Written by Josef Schwem: http://puss3d.tumblr.com/