added final two types of message mechanisms, completed all others too for demo purposes