trying to sort out what responsibilities belong to which objects