did some more messages, wrote testing suite, still need to check it'll work