implement payload signing