adding more flexible *nix system support