Move has file logic into own object, create matcher