added in some logics