add sync and async way to read files