better inheritance stuff