further re-edited