some code reorgnisation and simplifying OPSK-35

whilst assessing the problem. Making things a little more polymorphic