Fixes #58

The code works for me, and I've included some documentation on how I've done it

I don't like the use of mInitMatrix but it's the only way I seemed to bypass the resetting that occurs.