[improved] messagesystem: works as expected, better to read