getting ready for takeWhile
refactored specs