refactor; multi-session fix; refetch; redis cache