Add loop subdivision

Rewrite class inheritance structure