WIP on user-defined virtual methods. Main method sorta already works.