add update and signature functions.