use strict;
make it n-ary