replaced unnecessary things :P