Added diff
Some more documentation
Added some more test cases