bunch of revisions to make things shorter and clearer
its working, but im about to make modifications so that the messageservice is stopped as infrequently as possible, which could be risky