optimize dom function