Perfect label switch

Perfect label switch, but there are still some problems