bunch of awesome changes