modify logic in dispatcher