Long read but well worth it.