add args support to compiler