start v0.7, a big interface change on compile()  (in future we can set template base directory in )