cleaned out templated