Refactored and renamed classes.