reimplemented signature checking