template layer