more work on signatures, plus added unit test