Refactoring: Removed unused headers, changed guardian #define's and added some comments.