remove usage() function
add template structure