add finished inheritance, modules