fixed bug in _getPreviousPosition where if/else were all chained together. however, rows should be separate logic from position