added a bunch of cool stuff