using my own take on the messages concept