better add_key with help and parameters validation