Update with tons of fixes and new features