add message types and change immediate functions wait