deleted some useless functions?