replace communication layer