reorg code into modules
add gulp