add generate new class feature