add file parser class with tests