More maintainability and more testcases