Cleaned inheritance hierarchy to improve design