added a bunch of changes and updates