Added a smalltalk version