add lpmain func