middleware info done