added the templete system