Some minor modification;