switch solution