refactor: pull out capex, opex from objective