firstUp and firstLow was rewritten