cleaned using ReSharper