hold function add