* Try not to get in the habit of using `using namespace std`. Read [this](http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice) for more information. * For clarity, have your `#include`s organized. Read [this blog post](http://blog.knatten.org/2010/07/01/the-order-of-include-directives-matter/) or [this answer](http://stackoverflow.com/questions/2762568/c-c-include-file-order-best-practices) for more information. * Add a newline between each section of code. For instance, separate all user input and loops. For variables, it's best to initialize them late as late as possible in case the function needs to terminate prematurely. Again, keep them with the corresponding code. * You have a lot of accessors and mutators. Since these are short one-line implementations (you already do them correctly), you can define them in the header like this: void setEXP() const {EXP = (getlevel() * 35;} int getEXP() const {return EXP;} As such, you will no longer need to implement these in the .cpp file. This should make those files considerably short. It should also make it easier if you ever need to implement longer functions. In the header, you could also keep the accessors and mutators together for clarity. * `mobclass.h` already includes `<string>`, so you don't need to include it again in the .cpp file. * `srand()` should ONLY be called ONCE in the program, preferably at the top of `main()`. If you keep it where they are, `rand()` will be "not-so-random." * In the do-while loop in `battle()`: that really long output line could be wrapped so that it doesn't extend out so much. * For `death()`: there's no need to have a function _just_ output a message. So, either have it do something else relevant, or just remove it. * If you're just mutating data members in `calcEXP()` and `levelUp()`, they don't need to return anything. Just make those functions `void`. * For the character's death, I would prefer the function to fall back to `main()` instead of explicitly exiting. This is because 1.) it's safer and clearer to let `main()` terminate the program whenever possible and 2.) it's hard to tell just how and where a character's death is determined. Also, you could even make `battle()` return a `bool` so as to indicate a successful or unsuccessful battle. Try this at the end: account = calcEXP(account, monster); if (account.getHealth() <= 0) return false; return true; Even better, consider creating a `bool` member function for returning if the player's health has depleted: bool healthDepleted() const {return playerHealth <= 0;}