function with variable length argument