refacting

complete generation tab