dragon generation implemented