added all possible test cases