Changed abstract methods from private to protected..silly mistake