removed useless interface and abstract classes