build component by world