(*)initial work version