Updating refactoring branch