Refactored 43 and added test cases.