diff --git a/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF b/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF
index 26679df..5c95a7e 100644
--- a/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF
+++ b/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF
@@ -1,10 +1,12 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: MetricsUML24
-Bundle-SymbolicName: org.eclipse.emf.refactor.metrics.uml24;singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.emf.refactor.metrics.uml24.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.em
+ f.ecore,org.eclipse.emf.refactor.metrics,org.eclipse.uml2.uml
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.0
+Bundle-Name: MetricsUML24
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.emf.refactor.metrics.uml24.Activator
+Bundle-SymbolicName: org.eclipse.emf.refactor.metrics.uml24;singleton:
+ =true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.class b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.class
new file mode 100644
index 0000000..7d6b1fd
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.class b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.class
new file mode 100644
index 0000000..7a2427b
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.metrics.uml24/build.properties b/org.eclipse.emf.refactor.metrics.uml24/build.properties
index 34d2e4d..e9863e2 100644
--- a/org.eclipse.emf.refactor.metrics.uml24/build.properties
+++ b/org.eclipse.emf.refactor.metrics.uml24/build.properties
@@ -1,4 +1,5 @@
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
-               .
+               .,\
+               plugin.xml
diff --git a/org.eclipse.emf.refactor.metrics.uml24/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24/plugin.xml
new file mode 100644
index 0000000..28c70e4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/plugin.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<plugin>
+<extension point="org.eclipse.emf.refactor.metrics">
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nacp" metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.classuml.NACP" metric_context="Package" metric_description="Number of abstract Classes within the Package" metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" metric_name="NACP"/>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.tncp" metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.classuml.TNCP" metric_context="Package" metric_description="Total number of Classes within the Package" metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" metric_name="TNCP"/>
+</extension>
+</plugin>
diff --git a/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.java b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.java
new file mode 100644
index 0000000..c3845ef
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.java
@@ -0,0 +1,33 @@
+package org.eclipse.emf.refactor.metrics.uml24.classuml;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.uml2.uml.PackageableElement;
+
+public final class NACP implements IMetricCalculator {
+		
+	private List<EObject> context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context=context;
+	}	
+		
+	@Override
+	public double calculate() {	
+		org.eclipse.uml2.uml.Package in = (org.eclipse.uml2.uml.Package) context.get(0);
+		double ret = 0.0;
+		// custom code - begin
+		for (PackageableElement pe : in.getPackagedElements()) {
+			if (pe instanceof org.eclipse.uml2.uml.Class) {
+				if (((org.eclipse.uml2.uml.Class) pe).isAbstract()) {
+					ret++;
+				}
+			}
+		}
+		// custom code - end
+		return ret;
+	}
+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.java b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.java
new file mode 100644
index 0000000..f50244f
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.classuml;
+
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.uml2.uml.PackageableElement;
+
+public final class TNCP implements IMetricCalculator {
+		
+	private List<EObject> context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context=context;
+	}	
+		
+	@Override
+	public double calculate() {	
+		org.eclipse.uml2.uml.Package in = (org.eclipse.uml2.uml.Package) context.get(0);
+		double ret = 0.0;
+		// custom code - begin
+		for (PackageableElement pe : in.getPackagedElements()) {
+			if (pe instanceof org.eclipse.uml2.uml.Class) {
+				ret++;
+			}
+		}
+		// custom code - end
+		return ret;
+	}
+}
\ No newline at end of file
