big merge

merge a few different branches together