major changes in the operation_lib