add all functional