This could work. Not sure if splitting recalc_op_target worth the trouble though.