that is not a nice way to define optional parameters (they aren't possible in golang). We need a different scheme for that.