Add density func(not finished yet).