added and implmented MessageHandler