just do api calls in fragments, because detached fragments don't keep ref to activity