improved inheritance task