Completed 1 and 2
Added #3
Added #4