added signature verification