restructure grex.js