[major] use node-natural for tag parsing, return more rich content