add checkmode check