added message signing functions