diff --git a/pykd/dbgclient.h b/pykd/dbgclient.h
index df2af70..d34f465 100644
--- a/pykd/dbgclient.h
+++ b/pykd/dbgclient.h
@@ -44,6 +44,8 @@ public:
 
     ULONG64  addr64( ULONG64 addr );
 
+    void breakin();
+
     DbgOut  dout() {
         return DbgOut( m_client );
     }
diff --git a/pykd/dbgcmd.cpp b/pykd/dbgcmd.cpp
index ceecc02..92759e5 100644
--- a/pykd/dbgcmd.cpp
+++ b/pykd/dbgcmd.cpp
@@ -132,149 +132,25 @@ evaluate( const std::wstring  &expression )
 
 /////////////////////////////////////////////////////////////////////////////////
 
+void DebugClient::breakin()
+{
+    HRESULT     hres;
+
+    PyThreadState   *pystate = PyEval_SaveThread();
+
+    hres = m_control->SetInterrupt( DEBUG_INTERRUPT_ACTIVE );
+
+    PyEval_RestoreThread( pystate );
+
+    if ( FAILED( hres ) )
+        throw  DbgException( "IDebugControl::SetInterrupt" ); 
+}
+
+void breakin()
+{
+    g_dbgClient->breakin();
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+
 } // end namespace pykd
-
-
-
-
-
-
-
-
-
-
-
-//#include <boost/format.hpp>
-//
-//#include "dbgext.h"
-//#include "dbgcmd.h"
-//#include "dbgexcept.h"
-//#include "dbgio.h"
-//#include "dbgsystem.h"
-
-
-
-
-
-/////////////////////////////////////////////////////////////////////////////////
-//
-//std::string
-//dbgCommand( const std::wstring &command )
-//{
-//    HRESULT     hres;
-//
-//    OutputReader        outReader(  dbgExt->client );
-//    {
-//        PyThread_StateRestore pyThreadRestore;
-//
-//        hres = dbgExt->control4->ExecuteWide( DEBUG_OUTCTL_THIS_CLIENT, command.c_str(), 0 );
-//    }
-//    if ( FAILED( hres ) )
-//        throw  DbgException( "IDebugControl::Execute  failed" ); 
-//
-//    return std::string( outReader.Line() );
-//}
-//
-/////////////////////////////////////////////////////////////////////////////////
-//
-//dbgExtensionClass::dbgExtensionClass( const char* path ) : m_path(path)
-//{
-//    HRESULT     hres;
-//
-//    hres = dbgExt->control->AddExtension( path, 0, &m_handle );
-//    if ( FAILED( hres ) )
-//        throw DbgException( "IDebugControl::AddExtension failed" );
-//}
-//
-/////////////////////////////////////////////////////////////////////////////////
-//    
-//dbgExtensionClass::~dbgExtensionClass()
-//{
-//    if ( m_handle )
-//        dbgExt->control->RemoveExtension( m_handle );
-//}
-//
-/////////////////////////////////////////////////////////////////////////////////
-//
-//std::string
-//dbgExtensionClass::call( const std::string &command, const std::string params )
-//{
-//    HRESULT     hres;
-//
-//    OutputReader        outReader(  dbgExt->client );
-//
-//    hres = dbgExt->control->CallExtension( m_handle, command.c_str(), params.c_str() );
-//    if ( FAILED( hres ) )
-//        throw  DbgException( "IDebugControl::CallExtension  failed" ); 
-//        
-//    return std::string( outReader.Line() );
-//}
-//
-/////////////////////////////////////////////////////////////////////////////////
-//
-//std::string
-//dbgExtensionClass::print() const
-//{
-//    return m_handle ? m_path : "";
-//}
-//
-///////////////////////////////////////////////////////////////////////////////// 
-//
-//ULONG64
-//evaluate( const std::string  &expression )
-//{
-//    HRESULT             hres;
-//    ULONG64             value = 0;
-//
-//    DEBUG_VALUE  debugValue = {};
-//    ULONG        remainderIndex = 0;
-//    
-//    if ( is64bitSystem() )
-//    {
-//        hres = dbgExt->control->Evaluate( 
-//            expression.c_str(), 
-//            DEBUG_VALUE_INT64,
-//            &debugValue,
-//            &remainderIndex );
-//            
-//        if (  FAILED( hres ) )
-//            throw  DbgException( "IDebugControl::Evaluate  failed" );
-//            
-//        if ( remainderIndex == expression.length() )
-//            value = debugValue.I64;
-//    }
-//    else
-//    {
-//        hres = dbgExt->control->Evaluate( 
-//            expression.c_str(), 
-//            DEBUG_VALUE_INT32,
-//            &debugValue,
-//            &remainderIndex );
-//            
-//        if (  FAILED( hres ) )
-//            throw  DbgException( "IDebugControl::Evaluate  failed" );
-//            
-//        if ( remainderIndex == expression.length() )
-//            value = debugValue.I32;
-//    }      
-//
-//    return value;
-//}
-//
-///////////////////////////////////////////////////////////////////////////////// 
-//
-//void
-//breakin()
-//{
-//    HRESULT     hres;
-//
-//    {
-//        PyThread_StateRestore pyThreadRestore;
-//        hres = dbgExt->control->SetInterrupt( DEBUG_INTERRUPT_ACTIVE );
-//    }
-//
-//    if ( FAILED( hres ) )
-//        throw DbgException( "IDebugControl::SetInterrupt" );
-//}
-//
-///////////////////////////////////////////////////////////////////////////////// 
\ No newline at end of file
diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp
index 4cd38f0..a397884 100644
--- a/pykd/dbgext.cpp
+++ b/pykd/dbgext.cpp
@@ -166,13 +166,17 @@ BOOST_PYTHON_MODULE( pykd )
         .def( "__hex__", &intBase::hex );
 
     python::class_<pykd::DebugClient, pykd::DebugClientPtr>("dbgClient", "Class representing a debugging session", python::no_init  )
-        .def( "loadDump", &pykd::DebugClient::loadDump,
+        .def( "addr64", &DebugClient::addr64,
+            "Extend address to 64 bits formats" )
+        .def( "breakin", &DebugClient::breakin,
+            "Break into debugger" )
+        .def( "loadDump", &DebugClient::loadDump,
             "Load crash dump" )
-        .def( "startProcess", &pykd::DebugClient::startProcess, 
+        .def( "startProcess", &DebugClient::startProcess, 
             "Start process for debugging" )
-        .def( "attachProcess", &pykd::DebugClient::attachProcess,
+        .def( "attachProcess", &DebugClient::attachProcess,
             "Attach debugger to a exsisting process" )
-        .def( "attachKernel", &pykd::DebugClient::attachKernel, 
+        .def( "attachKernel", &DebugClient::attachKernel, 
             "Attach debugger to a target's kernel" )
         .def( "expr", &pykd::DebugClient::evaluate,
             "Evaluate windbg expression" )
@@ -251,6 +255,10 @@ BOOST_PYTHON_MODULE( pykd )
         .def( "waitForEvent", &pykd::DebugClient::waitForEvent,
             "Wait for events that breaks into the debugger" );
 
+    python::def( "addr64", &addr64,
+        "Extend address to 64 bits formats" );
+    python::def( "breakin", &breakin,
+        "Break into debugger" );
     python::def( "createDbgClient", (DebugClientPtr(*)())&pykd::DebugClient::createDbgClient, 
         "create a new instance of the dbgClient class" );
     python::def( "loadDump", &pykd::loadDump,