make signatures optional