Introducing more inheritance, less duplication. More work needed