without inheritance