#71 #67 #52 - Added test cases and fixed documentation