handle umask properly