update and improve device tree