fix fn closure, break struct