Nit: try to make code lines less than 100 to ease review.