modified bump function