Lot of refactored (ReSharp)