Added some code behind the prototypes, still need to test
I'm not sure a dedicated test program makes sense for this, will use pmDJ