new class structures, better organized but still incomplete