isaacs: could you review what I have written and tell me if that is good implementation or not, thanks