big changes; moved a bunch of things around