finish message function