templated updated to be more clear.