autogeneration init
gen layout