first iteration of dynamic class generation