modifications for posix compatibility and simpler integration