templates and pushing stuff