recursive data gathering / backend sync