why use a tmp var?