add tests and downloading rate