changed a lot of things :p