converted to use file instead of literal