use vtbl for method calls