implement errnof