improvements to Models and testing, but still not "right" by a long shot