don't let abstract classes be instantiated