working encode , working decode
signing working