This method could be simplified using a chained future -