included signature and verification functions