template stuff.