add checkCode function