imply dynamic-template so we can use helper methods