add save message fn, new route