Includes test cases.