support configurable template