complete funtion invocation & type matching & closure