added dynamic class creation