diff --git a/CarLot/CarLot.csproj b/CarLot/CarLot.csproj
new file mode 100644
index 00000000..21dff5ca
--- /dev/null
+++ b/CarLot/CarLot.csproj
@@ -0,0 +1,8 @@
+
+
+
+ Exe
+ netcoreapp2.2
+
+
+
diff --git a/CarLot/Program.cs b/CarLot/Program.cs
new file mode 100644
index 00000000..30f72b9b
--- /dev/null
+++ b/CarLot/Program.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+
+namespace OOP3
+{
+
+ public class Program {
+
+ public static void Main(String[] args)
+ {
+ CarLot CL1 = new CarLot("Chase's Cars");
+ CarLot CL2 = new CarLot("Other guys' Cars");
+ Car mazda = new Car("White", "Mazda", "3", "Hatchback");
+ Car subaru = new Car("Black", "Subaru", "Impreza", "Sedan");
+ Car chevy = new Car("Silver", "Chevy", "Malibu", "Sedan");
+ Car toyota = new Car("Green", "Toyota", "Celica", "Coupe");
+ Truck f150 = new Truck("Red", "Ford", "F-150", 5);
+ Truck titan = new Truck("Gray","Nissan","Titan", 5);
+ Truck ram = new Truck("Black", "Dodge", "Ram", 6);
+ CL1.Add(mazda);
+ CL1.Add(subaru);
+ CL1.Add(f150);
+ CL2.Add(toyota);
+ CL2.Add(titan);
+ CL2.Add(ram);
+
+ CL1.PrintInventory();
+ CL2.PrintInventory();
+
+ }
+
+ }
+
+ public class CarLot {
+ List inventory;
+ String name;
+
+ public CarLot(string intialName){
+ this.name = intialName;
+ }
+
+ public void Add(Vehicle vehicle){
+ inventory.Add(vehicle);
+ }
+
+ public void PrintInventory(){
+ foreach(var vehicle in inventory){
+ Console.WriteLine(vehicle.ToString());
+ }
+ }
+ }
+
+ public abstract class Vehicle {
+
+ string color;
+ string make;
+ string model;
+
+ public Vehicle(string intialColor, string intialMake, string intialModel){
+ this.color = intialColor;
+ this.make = intialMake;
+ this.model = intialModel;
+ }
+
+ override
+ public String ToString(){
+ String s1 = string.Format(this.color + "" + this.make + "" + this.model + "");
+ return s1;
+ }
+
+ }
+
+ public class Car : Vehicle{
+
+ string bodyType;
+
+ public Car(string initialColor, string initialMake, string intialModel, string intialBodyType) :
+ base(initialColor, initialMake, intialModel ){
+ this.bodyType = intialBodyType;
+
+ }
+
+ override
+ public String ToString(){
+ String s2 = string.Format(this.bodyType);
+ return s2;
+ }
+
+ }
+
+ public class Truck : Vehicle {
+
+ int cabSize;
+
+ public Truck(string intialColor, string initialMake, string intialModel, int initialCabSize) :
+ base(intialColor, initialMake, intialModel){
+ this.cabSize = initialCabSize;
+ }
+ }
+}
\ No newline at end of file
diff --git a/OOP2/OOP2.csproj b/OOP2/OOP2.csproj
new file mode 100644
index 00000000..21dff5ca
--- /dev/null
+++ b/OOP2/OOP2.csproj
@@ -0,0 +1,8 @@
+
+
+
+ Exe
+ netcoreapp2.2
+
+
+
diff --git a/OOP2/Program.cs b/OOP2/Program.cs
new file mode 100644
index 00000000..df8392e6
--- /dev/null
+++ b/OOP2/Program.cs
@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+
+namespace OOP2
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ _2DPoint p1 = new _2DPoint(3,4);
+ _3DPoint p2 = new _3DPoint(6,2,8);
+ _2DPoint p3 = new _2DPoint(3,4);
+
+ Console.WriteLine("p1 = {0}", p1);
+ Console.WriteLine("p2 = {0}", p2);
+
+
+
+ }
+ }
+
+
+ public class _2DPoint
+ {
+ public int x;
+ public int y;
+
+ public _2DPoint(int initialX, int initialY){
+ this.x = initialX;
+ this.y = initialY;
+
+ }
+ override
+ public String ToString(){
+ String s = String.Format("{0} , {1}", x, y);
+ return s;
+ }
+ override
+ public bool Equals(Object otherObject){
+ _2DPoint otherpoint = (_2DPoint) otherObject;
+ if(this.x == otherpoint.x && this.y == otherpoint.y ){
+ return true;
+ }
+ else{
+ return false;
+ }
+ }
+ }
+ public class _3DPoint : _2DPoint
+ {
+ public int z;
+ public _3DPoint(int initialX, int initialY, int initialZ) :
+ base ( initialX, initialY){
+ this.x = initialX;
+ this.y = initialY;
+ this.z = initialZ;
+ }
+ override
+ public String ToString()
+ {
+ String s = String.Format("{0}, {1}, {2},", x, y, z);
+ return s;
+ }
+ }
+
+ }
+