continuing work on new class-organized version