Add a bunch of new features