adding takeWhileUnshift, dropWhile and test fixes