diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index c438fc2..4fe220b 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -18,7 +18,7 @@
 **Guidelines to report an issue or ask a question:**
 - Please provide your imgui version number.
 - Please state if you have made substantial modifications to your copy of imgui. 
-- Try to be explicit with your expectations and what you have tried. What you have in mind or in your code is not obvious to other people.
+- Try to be explicit with your Goals, your Expectations and what you have Tried. What you have in mind or in your code is not obvious to other people. People frequently discuss problems without first mentioning their goal.
 - If you are discussing an assert or a crash, please provide a debugger callstack. Never state "it crashes" without additional information. If you don't know how to use a debugger and retrieve a callstack, learning about it will be useful.
 - Please make sure that your compilation settings have asserts enabled. Calls to IM_ASSERT() are scattered in the code to help catch common issues. By default IM_ASSERT() calls the standard assert() function. To verify that your asserts are enabled, add the line `IM_ASSERT(false);` in your main() function. Your application should display an error message and abort. If your application report an error, it means that your asserts are disabled. Please make sure they are enabled.
 - When discussing issues related to rendering or inputs, please state the OS/back-end/renderer you are using. Please state if you are using a vanilla copy of the example back-ends (imgui_impl_XXX files), or a modified one, or if you built your own.
@@ -27,10 +27,10 @@
 - When requesting a new feature, please describe the usage context (how you intend to use it, why you need it, etc.).
 
 **Some unfortunate words of warning**
-- If you are or were involved in cheating schemes (e.g. DLL injection) for competitive online multi-player games, please don't post here. We won't answer and you will be blocked. We've had too many of you. Please stop.
+- If you are or were involved in cheating schemes (e.g. DLL injection) for competitive online multi-player games, please don't post here. We won't answer and you will be blocked. We've had too many of you.
 - Due to frequent abuse of this service from aforementioned users, if your GitHub account is anonymous and was created five minutes ago please understand that your post will receive more scrutiny and incomplete questions may be dismissed.
 
-If you have been using dear imgui for a while or have been using C/C++ for several years or have demonstrated good behavior here, it is ok to not fullfill every item to the letter. Those are guidelines and experienced users or members of the community will know what information are useful in a given context.
+If you have been using dear imgui for a while or have been using C/C++ for several years or have demonstrated good behavior here, it is ok to not fullfill every item to the letter. Those are guidelines and experienced users or members of the community will know which information are useful in a given context.
 
 ## How to create an Pull Request
 - When adding a feature, please describe the usage context (how you intend to use it, why you need it, etc.).
diff --git a/.github/issue_template.md b/.github/issue_template.md
index 7aedc95..e434a54 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -1,13 +1,13 @@
-IF YOU ARE HAVING AN ISSUE COMPILING/LINKING/RUNNING/DISPLAYING/ADDING FONTS/WIRING INPUTS, please post on the "Getting Started" Discourse forum:
+(Click "Preview" to turn any http URL into a clickable link)
+
+1. IF YOU ARE HAVING AN ISSUE COMPILING/LINKING/RUNNING/DISPLAYING/ADDING FONTS/WIRING INPUTS, please post on the "Getting Started" Discourse forum:
 https://discourse.dearimgui.org/c/getting-started
 
-Otherwise, you may use this Issue Tracker to ask for help and submit bug reports, feature requests or suggestions. PLEASE CAREFULLY READ THIS DOCUMENT before submitting any issue:
-https://github.com/ocornut/imgui/blob/master/.github/CONTRIBUTING.md
-(Click "Preview" to turn the URL above into a clickable link)
+2. You may use this Issue Tracker to ask for help and submit bug reports, feature requests or suggestions that don't fit in any category of (1). PLEASE CAREFULLY READ THE CONTRIBUTING DOCUMENT before submitting any issue: https://github.com/ocornut/imgui/blob/master/.github/CONTRIBUTING.md
 
-PLEASE MAKE SURE that you have: read the FAQ in imgui.cpp; explored the contents of ShowDemoWindow() including the Examples menu; searched among Issues; used your IDE to search for keywords in all sources and text files; and read the CONTRIBUTING.md file linked above.
+3. PLEASE MAKE SURE that you have: read the FAQ in imgui.cpp; explored the contents of ShowDemoWindow() including the Examples menu; searched among Issues; used your IDE to search for keywords in all sources and text files; and read the CONTRIBUTING.md file linked above.
 
-(Delete everything above this section before submitting your issue.)
+4. Delete points 1-4 and PLEASE FILL THE TEMPLATE BELOW before submitting your issue. 
 
 ----
 
@@ -23,6 +23,8 @@
 
 **My Issue/Question:** _(please provide context)_
 
+XXX
+
 **Standalone, minimal, complete and verifiable example:** _(see CONTRIBUTING.md)_
 ```
 ImGui::Begin("Example Bug");
