logic have been changed