diff --git a/1-js-basics/1-data-types/solution.md b/1-js-basics/1-data-types/solution.md
new file mode 100644
index 0000000..435f8fc
--- /dev/null
+++ b/1-js-basics/1-data-types/solution.md
@@ -0,0 +1,39 @@
+#H1 Review and Self Study:
+```javascript
+const arr = ["hi",how"","you"];
+const first = arr.pop();
+console.log(first); // this will not only remove last element but it also returns that last element
+const last = arr.shift();
+console.log(last); // same goes for this too it not only removes first element but also reeturns it
+
+```
+```javascript
+const arr = ["hi","how","you"];
+const first = arr.slice(0, 1);// first will store hi
+const rem = arr.slice(1); // rem will store how and you
+```
+
+
+
+#h2 Assignment
+When we are building a shopping cart, we need many things which include user name, his password, an array of all items which contain objects which probably include a name of item and number of such items >
+
+
+
+first one is username which is a string
+
+
+next is alpha nemeric password which is again a string
+
+
+an array of all items in the cart
+
+
+an object in the follow whose object's format is something like following
+```
+name :
+value:
+```
+
+where if a new item is introduced to cart a new object is created and value will be number of that items thrown into cart
+
method is something that belong to an object or a class. It is also defined within a class defination.
+while function is something that can be defined any where and used anywhere. A method can only be used to manipulate or something related to it to a class or its objects
+
+
+
+#h1 Self learing
+
=> is used to skip word function and skip a lot of syntax
+
+#h1
+```javascript
+function funct1(a){
+ console.log(a);
+}
+```
+ or it can be written the following way
+
+```javascript
+function funct2(a){
+ return a;
+}
+```
+
diff --git a/1-js-basics/3-making-decisions/solution.md b/1-js-basics/3-making-decisions/solution.md
new file mode 100644
index 0000000..1469678
--- /dev/null
+++ b/1-js-basics/3-making-decisions/solution.md
@@ -0,0 +1,22 @@
+#h1 Challenge
+```javascript
+if(x>5){
+ print(x)
+}else{
+ print("no")
+}
+
+with ternery operator-->
+
+let var = (x>5)? print(5) : print("no")
+```
+
+#h1 Assignment
+```
+
+studentsWhoPass=[];
+for(let i=0, i<6, i++){
+ if !(allStudents[i]=="C-" || allStudents[i]==2 || allStudents[i]==1)
+ {studentsWhoPass.push(allStudents[i]);}
+}
+
diff --git a/1-js-basics/solution.md b/1-js-basics/solution.md
new file mode 100644
index 0000000..2cdd645
--- /dev/null
+++ b/1-js-basics/solution.md
@@ -0,0 +1,26 @@
+# Challenge
+
+
+```javascript
+const items = ["item1", "item2", "item3"];
+const copyItems = [];
+
+for (let i = 0; i < items.length; i++) {
+ copyItems.push(items[i]);
+}
+
+items.forEach((item) => {
+ copyItems.push(item);
+});
+```
+
+```javascript
+for(let i = 1, i <= 20,i++){
+ if (i%3==0){console.log(i);}
+}
+```
+
+
+
+
+
diff --git a/2-terrarium/1-intro-to-html/basic.html b/2-terrarium/1-intro-to-html/basic.html
new file mode 100644
index 0000000..0e2e3d7
--- /dev/null
+++ b/2-terrarium/1-intro-to-html/basic.html
@@ -0,0 +1,37 @@
+
+
+
+ Welcome to my youtube
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2-terrarium/images/plant1.png b/2-terrarium/1-intro-to-html/images/plant1.png
similarity index 100%
rename from 2-terrarium/images/plant1.png
rename to 2-terrarium/1-intro-to-html/images/plant1.png
diff --git a/2-terrarium/images/plant10.png b/2-terrarium/1-intro-to-html/images/plant10.png
similarity index 100%
rename from 2-terrarium/images/plant10.png
rename to 2-terrarium/1-intro-to-html/images/plant10.png
diff --git a/2-terrarium/images/plant11.png b/2-terrarium/1-intro-to-html/images/plant11.png
similarity index 100%
rename from 2-terrarium/images/plant11.png
rename to 2-terrarium/1-intro-to-html/images/plant11.png
diff --git a/2-terrarium/images/plant12.png b/2-terrarium/1-intro-to-html/images/plant12.png
similarity index 100%
rename from 2-terrarium/images/plant12.png
rename to 2-terrarium/1-intro-to-html/images/plant12.png
diff --git a/2-terrarium/images/plant13.png b/2-terrarium/1-intro-to-html/images/plant13.png
similarity index 100%
rename from 2-terrarium/images/plant13.png
rename to 2-terrarium/1-intro-to-html/images/plant13.png
diff --git a/2-terrarium/images/plant14.png b/2-terrarium/1-intro-to-html/images/plant14.png
similarity index 100%
rename from 2-terrarium/images/plant14.png
rename to 2-terrarium/1-intro-to-html/images/plant14.png
diff --git a/2-terrarium/images/plant2.png b/2-terrarium/1-intro-to-html/images/plant2.png
similarity index 100%
rename from 2-terrarium/images/plant2.png
rename to 2-terrarium/1-intro-to-html/images/plant2.png
diff --git a/2-terrarium/images/plant3.png b/2-terrarium/1-intro-to-html/images/plant3.png
similarity index 100%
rename from 2-terrarium/images/plant3.png
rename to 2-terrarium/1-intro-to-html/images/plant3.png
diff --git a/2-terrarium/images/plant4.png b/2-terrarium/1-intro-to-html/images/plant4.png
similarity index 100%
rename from 2-terrarium/images/plant4.png
rename to 2-terrarium/1-intro-to-html/images/plant4.png
diff --git a/2-terrarium/images/plant5.png b/2-terrarium/1-intro-to-html/images/plant5.png
similarity index 100%
rename from 2-terrarium/images/plant5.png
rename to 2-terrarium/1-intro-to-html/images/plant5.png
diff --git a/2-terrarium/images/plant6.png b/2-terrarium/1-intro-to-html/images/plant6.png
similarity index 100%
rename from 2-terrarium/images/plant6.png
rename to 2-terrarium/1-intro-to-html/images/plant6.png
diff --git a/2-terrarium/images/plant7.png b/2-terrarium/1-intro-to-html/images/plant7.png
similarity index 100%
rename from 2-terrarium/images/plant7.png
rename to 2-terrarium/1-intro-to-html/images/plant7.png
diff --git a/2-terrarium/images/plant8.png b/2-terrarium/1-intro-to-html/images/plant8.png
similarity index 100%
rename from 2-terrarium/images/plant8.png
rename to 2-terrarium/1-intro-to-html/images/plant8.png
diff --git a/2-terrarium/images/plant9.png b/2-terrarium/1-intro-to-html/images/plant9.png
similarity index 100%
rename from 2-terrarium/images/plant9.png
rename to 2-terrarium/1-intro-to-html/images/plant9.png
diff --git a/2-terrarium/1-intro-to-html/solution.md b/2-terrarium/1-intro-to-html/solution.md
new file mode 100644
index 0000000..f2257cc
--- /dev/null
+++ b/2-terrarium/1-intro-to-html/solution.md
@@ -0,0 +1,8 @@
+
Challenge
+
using marquee attribute will make text scroll!
+
+
+Assignment
+
+
+here is my [link](/2-terrarium/1-intro-to-html/basic.html) to a basic html web page
diff --git a/2-terrarium/2-intro-to-css/solution.md b/2-terrarium/2-intro-to-css/solution.md
new file mode 100644
index 0000000..3bf4ec5
--- /dev/null
+++ b/2-terrarium/2-intro-to-css/solution.md
@@ -0,0 +1,29 @@
+# Challenge
+To add those elements in web page, I have modified style of already created jar-glossy-long and jar-glossy-long.
+
+```css
+.jar-glossy-long {
+ width: 3%;
+ height: 8%;
+ background: white;
+ position: absolute;
+ bottom: 40%;
+ left: 5%;
+ opacity: 0.7;
+ border-radius: 1rem;
+}
+
+.jar-glossy-short {
+ width: 3%;
+ height: 20%;
+ background: white;
+ position: absolute;
+ bottom: 15%;
+ left: 5%;
+ opacity: 0.7;
+ border-radius: 1rem;
+}
+```
+
+# assignment
+here is my modified [style.css](/2-terrarium/terrarium-solution/style1.css)
\ No newline at end of file
diff --git a/2-terrarium/3-intro-to-DOM-and-closures/solution.md b/2-terrarium/3-intro-to-DOM-and-closures/solution.md
new file mode 100644
index 0000000..940507a
--- /dev/null
+++ b/2-terrarium/3-intro-to-DOM-and-closures/solution.md
@@ -0,0 +1,15 @@
+# Challenge
+
+I have added another function to script.js. when double clicked, will move plants(I thought of moving them to center since position is relative, it is just moving.)
+
+```javascript
+ terrariumElement.ondblclick = movetoCenter;
+ function movetoCenter() {
+ terrariumElement.style.top = "50%";
+ terrariumElement.style.left = "50%";
+ }
+```
+
+# Assignment
+
+In gmail, when we get a new mail, that mail is dynamically added at the top. here, when web page recieves this mail, it creates a new division and add content at top. this is done by DOM.
diff --git a/2-terrarium/terrarium-solution/images/plant1.png b/2-terrarium/terrarium-solution/images/plant1.png
new file mode 100644
index 0000000..9baee27
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant1.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant10.png b/2-terrarium/terrarium-solution/images/plant10.png
new file mode 100644
index 0000000..4b5136d
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant10.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant11.png b/2-terrarium/terrarium-solution/images/plant11.png
new file mode 100644
index 0000000..3530fe5
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant11.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant12.png b/2-terrarium/terrarium-solution/images/plant12.png
new file mode 100644
index 0000000..b7f6dfd
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant12.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant13.png b/2-terrarium/terrarium-solution/images/plant13.png
new file mode 100644
index 0000000..18938b7
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant13.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant14.png b/2-terrarium/terrarium-solution/images/plant14.png
new file mode 100644
index 0000000..87ccb62
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant14.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant2.png b/2-terrarium/terrarium-solution/images/plant2.png
new file mode 100644
index 0000000..b90853f
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant2.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant3.png b/2-terrarium/terrarium-solution/images/plant3.png
new file mode 100644
index 0000000..17e10d1
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant3.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant4.png b/2-terrarium/terrarium-solution/images/plant4.png
new file mode 100644
index 0000000..4bbafad
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant4.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant5.png b/2-terrarium/terrarium-solution/images/plant5.png
new file mode 100644
index 0000000..d303d40
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant5.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant6.png b/2-terrarium/terrarium-solution/images/plant6.png
new file mode 100644
index 0000000..823eeed
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant6.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant7.png b/2-terrarium/terrarium-solution/images/plant7.png
new file mode 100644
index 0000000..fceb7f2
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant7.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant8.png b/2-terrarium/terrarium-solution/images/plant8.png
new file mode 100644
index 0000000..40b4f15
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant8.png differ
diff --git a/2-terrarium/terrarium-solution/images/plant9.png b/2-terrarium/terrarium-solution/images/plant9.png
new file mode 100644
index 0000000..17a3435
Binary files /dev/null and b/2-terrarium/terrarium-solution/images/plant9.png differ
diff --git a/2-terrarium/images/screenshot_gray.png b/2-terrarium/terrarium-solution/images/screenshot_gray.png
similarity index 100%
rename from 2-terrarium/images/screenshot_gray.png
rename to 2-terrarium/terrarium-solution/images/screenshot_gray.png
diff --git a/2-terrarium/terrarium-solution/index.html b/2-terrarium/terrarium-solution/index.html
new file mode 100644
index 0000000..f712f7d
--- /dev/null
+++ b/2-terrarium/terrarium-solution/index.html
@@ -0,0 +1,75 @@
+
+
+
+
+ Welcome to my Virtual Terrarium
+
+
+
+
+
+
+