some edit made...