added spinner and async requests