pprint edits
add PRotate protocol
rotate protocol and standard implementations
rotate tests and fixes