some new lfunctions