remove some useless interface and impl