added bilateral filter