Documentation and test cases added