functional restored