A bit long, but well worth it.