Basic functionality -- including templates -- complete