added switching, deletion, infix rules