complete templates function