template structure and cli options