implemented message info, implemented save