Distributed environments based on objects: Upgrading smalltalk toward distribution