now using typedef for Function parameter