still broken, changed inheritance things