flexible number of arguments passing in functions