Refactored Some Classes