added message functionality