Сделано до 7).е). В 7).ж) нужно разобраться с типами