forgot to make overloading class abstract