improve signature