Well put together.
This must have taken some time.