10.16 extend ADD4 to support more arguments