ENH: optional args to functions