Fixed and added a lot of stuff