Refactored away CSPrimitives and initial implementation of Scope