removed pointless functions, implement virtuals in C backend