Changed lots of code :)