added signature-verify function