using fewer registers (fixes compilation bug hopefully)