Re-implement virtual table