now BuoyDataService returns a promise