Added and fixed a lot of stuff