Update the main repository.

There has been a lot of good stuff made in forked repositories. Update the main one.