minor change
add template and minor change