fleshed out template structure