Made class abstract and changed constructor to run()
Made all non-implemented classes abstract