adding a ton of new features