async updates
first pass update to using om