modify to test special cases