add decision logics