refaktoryzacja 1.0 oraz poprawa generatora