Re-organized classes to a more manageable format