more generalization and added ejs syntax for vim