added a lot of awesome stuff