added some template classes