use placeholder and more strict condition