use dust and js to make it more organized, ver 0.3.0