better super()