reworking message library