refactor template to increase usage scenarios, support binding for labels