reading files asynchronously