improved default argument value handling