Implementation classes added to support multiple implementations for the primitives