each function added