optional file readers