add whiten function