modified some stuffs