very start of co2 implementation, definitely incomplete