updated documentation and testcases