algebraic concepts and techniques