re-implemented parseFile to be asynchronous

function name implies asynchronousity