added nickname field to generations and cleaned up code