there are so many ways of communicating... params to a function