not sure of the implications, but fixes #2031 might have to rework this method to clean up the optional params if things are misbehaving