#ifndef _WINDOW_H_
#define _WINDOW_H_
#include <string>
#include <iostream>
#include <cstdlib>
class Window {
    std::string title;
    public:
    Window(const std::string& title): title(title) {}
    virtual void handle() = 0;
    void drawTitle() {
#ifdef _WIN32
        std::system("cls");
#else //assuming linux, yeah, I know
        std::system("clear");
#endif
        std::cout << "   " << title << std::endl;
        std::cout << "================================" << std::endl;
    }
    std::string readCommand(const std::string& prompt) {
        std::cout << prompt;
        std::string cmd;
        std::getline(std::cin,cmd);
        return cmd;
    }
    std::string readCommand() {
        return readCommand("> ");
    }

};
#endif

#ifndef _WINDOW_H_
#define _WINDOW_H_
#include <string>
#include <iostream>
class Window {
    std::string title;
    public:
    Window(const std::string& title): title(title) {}
    virtual void handle() = 0;
    void drawTitle() {
//#ifdef _WIN32
        //std::system("cls");
//#else //assuming linux, yeah, I know
        //std::system("clear");
//#endif
        std::cout << "   " << title << std::endl;
        std::cout << "================================" << std::endl;
    }
    std::string readCommand(const std::string& prompt) {
        std::cout << prompt;
        std::string cmd;
        std::cin >> cmd;
        return cmd;
    }
    std::string readCommand() {
        return readCommand("> ");
    }

};
#endif

--- 
+++ 
@@ -2,24 +2,25 @@
 #define _WINDOW_H_
 #include <string>
 #include <iostream>
+#include <cstdlib>
 class Window {
     std::string title;
     public:
     Window(const std::string& title): title(title) {}
     virtual void handle() = 0;
     void drawTitle() {
-//#ifdef _WIN32
-        //std::system("cls");
-//#else //assuming linux, yeah, I know
-        //std::system("clear");
-//#endif
+#ifdef _WIN32
+        std::system("cls");
+#else //assuming linux, yeah, I know
+        std::system("clear");
+#endif
         std::cout << "   " << title << std::endl;
         std::cout << "================================" << std::endl;
     }
     std::string readCommand(const std::string& prompt) {
         std::cout << prompt;
         std::string cmd;
-        std::cin >> cmd;
+        std::getline(std::cin,cmd);
         return cmd;
     }
     std::string readCommand() {
Enable clearing, use getline to read empty lines
