refactors. separate updateTempValues