adding base classes, not functionning well thought