public void run(boolean debugMode) {
        Program program = bcl.loadCodes();
        VirtualMachine vm;
        if (debugMode) {
            vm = new DebuggerVirtualMachine(program, sourceLines);
            (new UserInterface()).run((DebuggerVirtualMachine) vm);
        } else {
            vm = new VirtualMachine(program);
            vm.executeProgram();
        }
    }