refactoring r2 halfway point