cgf implementation (still edit screen todo)