inheritance used a stupid double construction that was unnecessary