revised template sturcture