add each funct