access to filename is implicitly synchronous