seems to work - with new prototype inheritance augmentation
another working version