Refactored and moved classes.