messages layer