if no filename is given will read off stdin by default