Added more documentation & testcases