optional in/out arguments