removed corner case tests (simplified corner cases), added takewhile and dropwhiles