more text taken from original node module