all logic is done
gen
formatting fix