add test cases, not passing yet