use proper inheritance