Developing Concepts and Generalizations to Build Algebraic Thinking: The Reversibility, Flexibility, and Generalization Approach. (May 2015)