adding hold function