added alot of stuffs