baseDir defaults to empty string