minor modification + new scenarios