Adding some refactoring and starting to create some ExtensionMethods