smarter way to handle signatures