moved. This function should be removed if it is not for the general template interface