improved example with args