add (pure) virtual class