added message delegation and updating