diff --git a/src/core/src/arm/arm_interface.h b/src/core/src/arm/arm_interface.h
index 785234396..80518a779 100644
--- a/src/core/src/arm/arm_interface.h
+++ b/src/core/src/arm/arm_interface.h
@@ -35,13 +35,21 @@ public:
     ~ARM_Interface() {
     }
 
-    virtual void ExecuteInstruction() = 0;
+    void Step() {
+        ExecuteInstruction();
+        ticks_++;
+    }
     
     virtual void SetPC(u32 pc) = 0;
-
     virtual u32 PC() = 0;
-
     virtual u32 Reg(int index) = 0;
+    virtual u32 CPSR() = 0;  
 
-    virtual u32 CPSR() = 0;
+    u64 ticks() { return ticks_; }
+
+private:
+    
+    virtual void ExecuteInstruction() = 0;
+
+    u64 ticks_;
 };