stoppped using temporary variables