massive refactoring of the rotor implementaion. Just use char math instead, as its simpler