added abstraction over signing version