reorg file into modules