all operation functionnal