Refactored classes into dedicated files