add tracking of files loaded + add cached compile