added proper constructor to LDF, refactoring ADM