Added lots of things
fixed merge conflicts