Code taken from here changed a bit in order for easier management Todo: Actually rename methods so it would feel more like .NET Tests Dependencies updates