add some other logic flow