Formatting changes and changes to support .Net 3.5 as it can't handle default method values