added signing algorithm