class design begun in earnest, work in progress...