Requirement 3
Requirement 4
Merge https://github.com/Zoltrix/ProgrammingAssignment-3