Refactored: Splits different classes to different files.