partially working versions of 2_3, with the framework for abstracting out two different rectangle implementations. Now I just need to fill in the code ...