extend noise function