add foldLeftWhile and foldRightWhile
specify coverall token