add process_message method