tmp vars moved to closure + message construction optimization