new sign function