implementations of delivering messages