using service instead of async task