ver 2.0

new template functions