a bit remove posix module dependency