modified some useless functions