On the fly inheritance works, but it is messy