refactored CSV, added saving goups, still have to add loading