Refactored Sub operator