diff --git a/appveyor.yml b/appveyor.yml
index 855f34f..297b50f 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,7 +1,17 @@
-image: Visual Studio 2017
+image: Visual Studio 2019
+
+init:
+ - git config --global core.autocrlf true
+
+environment:
+ matrix:
+ - solution: Semester4/PointFree/PointFree.sln
before_build:
- - nuget restore semester2/6.1/HW6T2.sln
+ - nuget restore %solution%
build:
- project: semester2/2.3/2.3.sln
+ project: $(solution)
+
+test_script:
+ - dotnet test %solution%
diff --git a/semester4/PointFree/PointFree.sln b/semester4/PointFree/PointFree.sln
new file mode 100644
index 0000000..b898abd
--- /dev/null
+++ b/semester4/PointFree/PointFree.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "PointFree", "PointFree\PointFree.fsproj", "{6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "PointFreeTests", "PointFreeTests\PointFreeTests.fsproj", "{98C11D07-A7FA-42DC-B8D9-196DAA909B55}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/semester4/PointFree/PointFree/PointFree.fs b/semester4/PointFree/PointFree/PointFree.fs
new file mode 100644
index 0000000..73ff07c
--- /dev/null
+++ b/semester4/PointFree/PointFree/PointFree.fs
@@ -0,0 +1,12 @@
+module PointFree
+
+///Takes list and number and multiplies every element of list to a number
+let mapMultiply x l = List.map (fun y -> y * x) l
+
+let mapMultiply1 (x: int): int list -> int list = List.map (fun y -> y * x)
+
+let mapMultiply2 (x: int): int list -> int list = List.map (fun y -> (*) x y)
+
+let mapMultiply3 (x: int): int list -> int list = x |> (*) |> List.map
+
+let mapMultiply4: int -> int list -> int list = List.map << (*)
\ No newline at end of file
diff --git a/semester4/PointFree/PointFree/PointFree.fsproj b/semester4/PointFree/PointFree/PointFree.fsproj
new file mode 100644
index 0000000..847a271
--- /dev/null
+++ b/semester4/PointFree/PointFree/PointFree.fsproj
@@ -0,0 +1,11 @@
+
+
+
+ netcoreapp3.1
+
+
+
+
+
+
+
diff --git a/semester4/PointFree/PointFreeTests/PointFreeTest.fs b/semester4/PointFree/PointFreeTests/PointFreeTest.fs
new file mode 100644
index 0000000..6dc1b9e
--- /dev/null
+++ b/semester4/PointFree/PointFreeTests/PointFreeTest.fs
@@ -0,0 +1,22 @@
+module TestProject1
+
+open NUnit.Framework
+open FsCheck
+open PointFree
+
+let ``example and first are equal`` number list = mapMultiply number list = mapMultiply1 number list
+let ``first and second are equal`` number list = mapMultiply1 number list = mapMultiply2 number list
+let ``second and third are equal`` number list = mapMultiply2 number list = mapMultiply3 number list
+let ``third and fourth are equal`` number list = mapMultiply3 number list = mapMultiply4 number list
+
+[]
+let test1 () = Check.QuickThrowOnFailure ``example and first are equal``
+
+[]
+let test2 () = Check.QuickThrowOnFailure ``first and second are equal``
+
+[]
+let test3 () = Check.QuickThrowOnFailure ``second and third are equal``
+
+[]
+let test4 () = Check.QuickThrowOnFailure ``third and fourth are equal``
\ No newline at end of file
diff --git a/semester4/PointFree/PointFreeTests/PointFreeTests.fsproj b/semester4/PointFree/PointFreeTests/PointFreeTests.fsproj
new file mode 100644
index 0000000..382e58f
--- /dev/null
+++ b/semester4/PointFree/PointFreeTests/PointFreeTests.fsproj
@@ -0,0 +1,27 @@
+
+
+
+ netcoreapp3.1
+
+ false
+ false
+ TestProject1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/semester4/PointFree/PointFreeTests/Program.fs b/semester4/PointFree/PointFreeTests/Program.fs
new file mode 100644
index 0000000..0695f84
--- /dev/null
+++ b/semester4/PointFree/PointFreeTests/Program.fs
@@ -0,0 +1 @@
+module Program = let [] main _ = 0