Messenger: initial work (incomplete)