Several improvements

Thanks for the driver @svrooij, I had created one but I went ahead and used yours instead and applying my improvements.

Soon will try adding write methods