add removal listener, remove duplicate key check as it's no longer necessary