Loooooooooooooooooooooots of refractoring

And also some code for bosses
Merged
Boss code out commented since it's not all done
Merge remote-tracking branch 'origin/master'