tag 0.1: Lacks a few feature (see TODO), but I might put it in production anyway.