move struct outside.
tidy.