Updated for inheritance
Updated for usage