Class refactored