removed unneeded declaration constrainTempImpl