upgraded several modes