add sign function