Fix #154 improve file source behavior