minor changes in class hierarchy