improve POSIX support