major template reworking
major template reworking