introduce argspec