file system and better callback separation