group up whitespace functions. add example of factorial