edited with answers