Reimplement as a nanoc project