add args support to API/compiler