improve(lib): refact parser renderer structure