use named params instead of args array