Bunch of changes and additions