class hierarchy is simplefied