Made some methods virtual