Improve client/server promises