refactoring projections and tsqr