some shuffling, and a new S4 class 'rlpspec'