revised third version