add support for file inpu