explains pass of temp argument