updated a lot of stuffs