added Message class, leak free version