instead of returning strings we now just use a constructor to the sender