restructure zx-js