add signature function