Add submodel primitive and its test