signature now passes all tests