added base functionality
added test with mixed messages