Refactoring to use extensions complete